Historia lineal mediante rebase es solo posible cuando el historial de ramas es una línea recta de descendientes. En el momento en que la rama principal y la rama de características se separan, el simple 'movimiento de puntero' de un rebase se vuelve matemáticamente imposible.
1. La diferencia tangible
Los rebases no se reflejan no se reflejan en el historial del proyecto. Esto significa que la existencia única de la rama queda efectivamente borrada al integrarse. En contraste, los fusionados de tres vías preservan la narrativa del trabajo paralelo.
2. El principio del historiador
La rama principal permanente rama principal actúa como historiador de todo nuestro proyecto. Solo puede registrar lo que le permitimos ver; cuando las rutas se separan, nos vemos obligados a crear un nuevo 'evento'—un commit de fusión—para cerrar la brecha y reconciliar dos realidades diferentes que evolucionaron simultáneamente.
3. Detección de divergencia
Usando git log --oneline, los desarrolladores pueden visualizar dónde se separan los caminos. Si 'principal' ha avanzado desde que creaste la rama, Git no puede mover el puntero hacia adelante sin perder el nuevo trabajo realizado en la rama principal.